package com.dylan.magic.mybatis.pagehelper.storage.dao;

import com.dylan.magic.mybatis.pagehelper.entity.po.SystemConfigPo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author : ankang
 * @date : 2019/12/13 16:42
 * @Description :
 */
@Repository
public class SystemConfigDao extends BaseDao<SystemConfigPo> {
    /**
     * 查询全部
     */
    @Override
    public List<SystemConfigPo> selectAll() {
        return super.selectAll();
    }

    /**
     * 统计数量
     * 需要使用，由子类放开权限
     *
     * @param entity 不为null的字段为筛选条件,且用等号(=)查询
     */
    @Override
    public int selectCount(SystemConfigPo entity) {
        return super.selectCount(entity);
    }

    /**
     * 查询一个结果,如果有多个返回则抛异常
     * 需要使用，由子类放开权限
     *
     * @param entity 不为null的字段为筛选条件,且用等号(=)查询
     */
    @Override
    public SystemConfigPo selectOne(SystemConfigPo entity) {
        return super.selectOne(entity);
    }

    /**
     * 查询多个结果
     * 需要使用，由子类放开权限
     *
     * @param entity 不为null的字段为筛选条件,且用等号(=)查询
     */
    @Override
    public List<SystemConfigPo> select(SystemConfigPo entity) {
        return super.select(entity);
    }

    /**
     * 通过配置KEY查询配置VALUE
     * @param configKey 配置KEY
     * @return 配置VALUE
     */
    public SystemConfigPo selectByConfigKey(String configKey) {
        if (StringUtils.isBlank(configKey)) {
            return null;
        }
        SystemConfigPo config = new SystemConfigPo();
        config.setConfigKey(configKey);
        return getMapper().selectOne(config);
    }
}
